Even as computing technology increases its sophistication and reach across broader ranges of the population, in many circumstances the approaches to software development have not kept pace with the computing technology itself.